/* 
 * File:   Proceso.cpp
 * Author: maximiliano
 * 
 * Created on 7 de junio de 2013, 18:50
 */

#include "server_Proceso.h"
#include "common_MutexScopeLocker.h"
using namespace TP::Procesos;

Proceso::Proceso(uint32_t pId) {
    _id = pId;
    _corriendo = false;
}

Proceso::~Proceso() {}

void Proceso::Iniciar() throw (Excepcion&){
    try
    {
        SetCorriendo(true);
        Thread::Iniciar();
    }
    catch (Excepcion &ex)
    {
        throw;
    }
}

void Proceso::Finalizar() throw (Excepcion&){
    try
    {
        SetCorriendo(false);
        Thread::Finalizar();
    }
    catch (Excepcion &ex)
    {
        throw;
    }
}

bool Proceso::GetCorriendo (){
    MutexScopeLocker locker (_finalizadoMutex);
    return _corriendo;
}

bool Proceso::SetCorriendo(bool pValor){
    MutexScopeLocker locker (_finalizadoMutex);
    _corriendo = pValor;
    return pValor;
}